package com.smedi.ismedi.authoritymanagement.core.domain.service;

import com.smedi.ismedi.authoritymanagement.core.domain.aggregatemodel.FrameStructure;
import com.smedi.ismedi.authoritymanagement.core.domain.aggregatemodel.RolePermissionDetail;

import java.util.List;

/**
 * @Author: xulinjun
 * @Date: 2021-7-15 16:22
 */
public interface RolePermissionDetailDomainService {
    List<Long> getScopeStructureIdsByRootCodeAndRoleId(String rootCode, Long roleId);

    List<Long> getScopeStructureIdsByRootCodeAndRoleIds(String rootCode, List<Long> roleIds, List<FrameStructure> children);

    void cleanCurrentPermissionsByRootCodeAndRoleId(String rootCode, Long roleId);

    void batchSaveRolePermissionDetail(String rootCode, Long roleId, List<RolePermissionDetail> rolePermissionDetails, boolean cleanCurrent);

    List<RolePermissionDetail> getRolePermissionDetailsByRootCodeAndRoleId(String rootCode, Long roleId);
}
